package com.emm.yixun.customer.service;
import javax.jws.WebService;
import com.emm.yixun.common.page.Page;
import com.emm.yixun.common.response.Response;
import com.emm.yixun.common.response.ResponseList;
import com.emm.yixun.common.model.ProjectQuestionnaire;
import com.emm.yixun.common.model.ProjectQuestionnaireInfo;
import com.emm.yixun.common.model.dto.ProjectQuestionnaireDto;
@WebService
public interface ProjectQuestionnaireServiceFacade{
     	/**
	    *新增
	    */
		Response<ProjectQuestionnaireDto> save(ProjectQuestionnaireDto dto);
		
		/**
		*修改,当selective=true时修改非空列,当selective=false修改所有列
		*/
		Response<Integer> updateByPrimaryKey(ProjectQuestionnaireDto dto,Boolean selective);
		
		/**
		 *逻辑删除
		 */
		Response<Integer> deleteByPrimaryKey(Long id);
		
		/**
		 *主键查询
		 */
		Response<ProjectQuestionnaire> findById(Long id);
		
		/**
		 *主键查询
		 */
		Response<ProjectQuestionnaireInfo> findByIdInfo(Long id);
		
		/**
		 *根据dto查询记录
		 */
		ResponseList<ProjectQuestionnaire> findByDto(ProjectQuestionnaireDto dto);
		
		/**
		 *根据dto以及分页参数查询记录
		 */
		Page<ProjectQuestionnaire> findPageByDto(ProjectQuestionnaireDto dto,Integer begin,Integer row);
		
		/**
	     *新增
	     */
		Response<ProjectQuestionnaireDto> saveInfo(ProjectQuestionnaireDto dto, Long modelId, Long copyId);
		
		/**
		 *根据dto以及分页参数查询记录
		 */
		Page<ProjectQuestionnaireInfo> findPageInfoByDto(ProjectQuestionnaireDto dto,Integer begin,Integer row);
		
		/**
		 *根据dto以及分页参数查询记录
		 */
		Page<ProjectQuestionnaireInfo> findCustomerPageInfoByDto(ProjectQuestionnaireDto dto,Integer begin,Integer row);
		
		/**
		 *根据dto查询记录
		 */
		ResponseList<ProjectQuestionnaireInfo> findAyalyzeAnswerByDto(ProjectQuestionnaireDto dto);
		
		/**
		 *根据dto查询记录
		 */
		ResponseList<ProjectQuestionnaireInfo> getCustomerInfoList(Long projectId, Long questionnaireId);
}
